package com.rslai.commons.validator.jsonvalidator.validators;

import java.util.List;
import java.util.concurrent.atomic.AtomicBoolean;

/**
 * JSON校验器，可选项校验器
 */
public class OptionalValidator extends Validator{
    public static final String VALIDATOR_NAME = "optional";

    AtomicBoolean isContinue = new AtomicBoolean(false);

    /**
     * 构造函数
     * @param arguments arguments
     */
    public OptionalValidator(List<Object> arguments) {

    }

    /**
     * 校验JSON对象
     * @param object 待验证的JSON对象
     */
    @Override
    public void doValidate(Object object) {
        if (object != null) {
            isContinue.set(true);
        }
    }

    /**
     * 返回是否执行下一个校验
     * @return
     */
    @Override
    protected boolean hasExecuteNextValidator() {
        return isContinue.get();
    }

    /**
     * 返回校验名称
     * @return 校验名称
     */
    @Override
    public String name() {
        return VALIDATOR_NAME;
    }

}
